/****************************************************************************

	COPYRIGHT(C) MAXSI SOFTWARE, JONAS 'SORTIE' TERMANSEN 2008, 2009, 2010

    This file is part of Maxsi Release CMD.

    Maxsi Release CMD is free software: you can redistribute it and/or modify
    it under the terms of the GNU Lesser General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    Maxsi Release CMD is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU Lesser General Public License for more details.

    You should have received a copy of the GNU Lesser General Public License
    along with Maxsi Release CMD. If not, see <http://www.gnu.org/licenses/>.

	*/ #include "MaxsiReleaseCMDContributors.h" /*

	If you modify this file, please enter your name below and provide contact
	information in MaxsiReleaseCMDContributors.h. For more information please see
	MaxsiReleaseCMDContributors.h.
	
	Contributors to this file:

	- Jonas 'Sortie' Termansen
	- [your name here]

	MaxsiReleaseCMD.exe
	A command line utility that uploads product content to a Maxsi Distribution
	compatible content server and posts install scripts to the Master Server.

	Main.h
	The main console interface that does the heavy lifting

****************************************************************************/

#ifndef Main_H
#define Main_H

MISFUNCH(MIS_ContentArchive);
MISFUNCH(MIS_MasterPath);
MISFUNCH(MIS_MasterServer);
MISFUNCH(MIS_ContentServer);
MISFUNCH(MIS_Flags);

int		PrintToConsole(char* Line);
int		GetConsoleKey();
int		main(int argc, char ** argv);
bool	RunMISScript(char* File);
bool	Release();
bool	GatherMasterPathInformation(char*	Path, char* Ex);
bool	UploadBlocksToHost(char* Host);
bool	UploadBlockToHost(char* Host, char** Com,uLong ComSize,size_t BlockId);
bool	GenerateInstallScript();

	// Magic constants
	#define	MaxsiTorrent_BlockSize			(1048576)		//	1 MiB

#endif

